From 03bb00e0b04dcf2903ec3976ccb87ff4079bb49e Mon Sep 17 00:00:00 2001 From: "ack@kneesa.uk.xensource.com" Date: Sun, 28 May 2006 15:49:17 +0100 Subject: [PATCH] Update docs for new credit scheduler and cleanup out of date scheduler stuff. Signed-off-by: Emmanuel Ackaouy --- docs/src/interface.tex | 29 +++++++++++------------------ docs/src/user.tex | 32 +++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/docs/src/interface.tex b/docs/src/interface.tex index 4bddd65b4e..c9017c71fe 100644 --- a/docs/src/interface.tex +++ b/docs/src/interface.tex @@ -205,30 +205,23 @@ event sent at a specified system time by using the {\bf implement timeout values when they block. - -%% % akw: demoting this to a section -- not sure if there is any point -%% % though, maybe just remove it. - -% KAF: Remove these random sections! -\begin{comment} \section{Xen CPU Scheduling} Xen offers a uniform API for CPU schedulers. It is possible to choose from a number of schedulers at boot and it should be easy to add more. -The BVT, Atropos and Round Robin schedulers are part of the normal Xen -distribution. BVT provides proportional fair shares of the CPU to the -running domains. Atropos can be used to reserve absolute shares of -the CPU for each domain. Round-robin is provided as an example of -Xen's internal scheduler API. +The SEDF, BVT, and Credit schedulers are part of the normal Xen +distribution. BVT and SEDF will be going away and their use should be +avoided once the credit scheduler has stabilized and become the default. +The Credit scheduler provides proportional fair shares of the +host's CPUs to the running domains. It does this while transparently +load balancing runnable VCPUs across the whole system. \paragraph*{Note: SMP host support} -Xen has always supported SMP host systems. Domains are statically -assigned to CPUs, either at creation time or when manually pinning to -a particular CPU. The current schedulers then run locally on each CPU -to decide which of the assigned domains should be run there. The -user-level control software can be used to perform coarse-grain -load-balancing between CPUs. -\end{comment} +Xen has always supported SMP host systems. When using the credit scheduler, +a domain's VCPUs will be dynamically moved across physical CPUs to maximise +domain and system throughput. VCPUs can also be manually restricted to be +mapped only on a subset of the host's physical CPUs, using the pinning +mechanism. %% More information on the characteristics and use of these schedulers diff --git a/docs/src/user.tex b/docs/src/user.tex index 8c0e9712c9..abbc109be2 100644 --- a/docs/src/user.tex +++ b/docs/src/user.tex @@ -1094,6 +1094,36 @@ running domains in \xend's SXP configuration format. You can get access to the console of a particular domain using the \verb_# xm console_ command (e.g.\ \verb_# xm console myVM_). +\subsection{Domain Scheduling Management Commands} + +The credit CPU scheduler automatically load balances guest VCPUs +across all available physical CPUs on an SMP host. The user need +not manually pin VCPUs to load balance the system. However, she +can restrict which CPUs a particular VCPU may run on using +the \path{xm vcpu-pin} command. + +Each guest domain is assigned a \path{weight} and a \path{cap}. + +A domain with a weight of 512 will get twice as much CPU as a +domain with a weight of 256 on a contended host. Legal weights +range from 1 to 65535 and the default is 256. + +The cap optionally fixes the maximum amount of CPU a guest will +be able to consume, even if the host system has idle CPU cycles. +The cap is expressed in percentage of one physical CPU: 100 is +1 physical CPU, 50 is half a CPU, 400 is 4 CPUs, etc... The +default, 0, means there is no upper cap. + +When you are running with the credit scheduler, you can check and +modify your domains' weights and caps using the \path{xm sched-credit} +command: + +\begin{tabular}{ll} +\verb!xm sched-credit -d ! & lists weight and cap \\ +\verb!xm sched-credit -d -w ! & sets the weight \\ +\verb!xm sched-credit -d -c ! & sets the cap +\end{tabular} + %% Chapter Domain Configuration @@ -1985,7 +2015,7 @@ editing \path{grub.conf}. \item [ tbuf\_size=xxx ] Set the size of the per-cpu trace buffers, in pages (default 0). \item [ sched=xxx ] Select the CPU scheduler Xen should use. The - current possibilities are `sedf' (default) and `bvt'. + current possibilities are `sedf' (default), `credit', and `bvt'. \item [ apic\_verbosity=debug,verbose ] Print more detailed information about local APIC and IOAPIC configuration. \item [ lapic ] Force use of local APIC even when left disabled by -- 2.30.2